/* Copyright (c) 2025 Beijing Semidrive Technology Corporation
 * SPDX-License-Identifier: Apache-2.0
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
/********************************************************************************************************
 *  \file     Wdg_Fault.h                                                                                  *
 *  \brief    This file contains interface header for WDG MCAL driver.                                  *
 *                                                                                                      *
 * <table>                                                                                              *
 * <tr><th>Date           <th>Version                                                                   *
 * <tr><td>2023/12/15     <td>1.0.0                                                                     *
 * </table>                                                                                             *
 *******************************************************************************************************/
#ifndef WDG_FAULT_H
#define WDG_FAULT_H

#ifdef __cplusplus
extern "C" {
#endif
/********************************************************************************************************
 *                                 Global Macro definition                                              *
 *******************************************************************************************************/
/** \brief  WDG fault injection switch */

#ifndef WDG_FAULT_INJECTION
/** \brief  FUNCTION:Wdg_Init() fault injection. */
#define WdgHookBegin_Wdg_Init()
#define WdgHookEnd_Wdg_Init()
/** \brief  FUNCTION:Wdg_RequestChannelWithId() fault injection. */
#define WdgHookBegin_Wdg_RequestChannelWithId()
#define WdgHookEnd_Wdg_RequestChannelWithId()
/** \brief  FUNCTION:Wdg_ReleaseChannel() fault injection. */
#define WdgHookBegin_Wdg_ReleaseChannel()
#define WdgHookEnd_Wdg_ReleaseChannel()
/** \brief  FUNCTION:Wdg_ConfigChannel() fault injection. */
#define WdgHookBegin_Wdg_ConfigChannel()
#define WdgHookEnd_Wdg_ConfigChannel()
/** \brief  FUNCTION:Wdg_PrepareTransmission() fault injection. */
#define WdgHookBegin_Wdg_PrepareTransmission()
#define WdgHookEnd_Wdg_PrepareTransmission()
/** \brief  FUNCTION:Wdg_UpdateTransmitAddressAndLength() fault injection. */
#define WdgHookBegin_Wdg_UpdateTransmitAddressAndLength()
#define WdgHookEnd_Wdg_UpdateTransmitAddressAndLength()
/** \brief  FUNCTION:Wdg_Start() fault injection. */
#define WdgHookBegin_Wdg_Start()
#define WdgHookEnd_Wdg_Start()
/** \brief  FUNCTION:Wdg_Stop() fault injection. */
#define WdgHookBegin_Wdg_Stop()
#define WdgHookEnd_Wdg_Stop()
/** \brief  FUNCTION:Wdg_GetChannelStatus() fault injection. */
#define WdgHookBegin_Wdg_GetChannelStatus()
#define WdgHookEnd_Wdg_GetChannelStatus()
/** \brief  FUNCTION:Wdg_GetXferBytes() fault injection. */
#define WdgHookBegin_Wdg_GetXferBytes()
#define WdgHookEnd_Wdg_GetXferBytes()
/** \brief  FUNCTION:Wdg_GetConfigParams() fault injection. */
#define WdgHookBegin_Wdg_GetConfigParams()
#define WdgHookEnd_Wdg_GetConfigParams()
/** \brief  FUNCTION:Wdg_ConfigurationCheck() fault injection. */
#define WdgHookBegin_Wdg_ConfigurationCheck()
#define WdgHookEnd_Wdg_ConfigurationCheck()
/** \brief  FUNCTION:Wdg_InitConfigChannel() fault injection. */
#define WdgHookBegin_Wdg_InitConfigChannel()
#define WdgHookEnd_Wdg_InitConfigChannel()
/** \brief  FUNCTION:Wdg_CheckAddressAndChannelValid() fault injection. */
#define WdgHookBegin_Wdg_CheckAddressAndChannelValid()
#define WdgHookEnd_Wdg_CheckAddressAndChannelValid()
/** \brief  FUNCTION:Wdg_CheckRequestChannelValid() fault injection. */
#define WdgHookBegin_Wdg_CheckRequestChannelValid()
#define WdgHookEnd_Wdg_CheckRequestChannelValid()
/** \brief  FUNCTION:Wdg_GetAdcModuleConfigParams() fault injection. */
#define WdgHookBegin_Wdg_GetAdcModuleConfigParams()
#define WdgHookEnd_Wdg_GetAdcModuleConfigParams()
/** \brief  FUNCTION:Wdg_GetM2MModuleConfigParams() fault injection. */
#define WdgHookBegin_Wdg_GetM2MModuleConfigParams()
#define WdgHookEnd_Wdg_GetM2MModuleConfigParams()
/** \brief  FUNCTION:Wdg_GetSpiModuleConfigParams() fault injection. */
#define WdgHookBegin_Wdg_GetSpiModuleConfigParams()
#define WdgHookEnd_Wdg_GetSpiModuleConfigParams()
/** \brief  FUNCTION:Wdg_GetoSpiModuleConfigParams() fault injection. */
#define WdgHookBegin_Wdg_GetOSpiModuleConfigParams()
#define WdgHookEnd_Wdg_GetOSpiModuleConfigParams()
/** \brief  FUNCTION:Wdg_Ip_IrqHandler() fault injection. */
#define WdgHookBegin_Wdg_Ip_IrqHandler()
#define WdgHookEnd_Wdg_Ip_IrqHandler()
/** \brief  FUNCTION:Wdg_Ip_Wdg_Ip_DisableChannel() fault injection. */
#define WdgHookBegin_Wdg_Ip_DisableChannel()
/** \brief  FUNCTION:Wdg_Ip_RegCkgen fault injection. */
#define WdgHookBegin_Wdg_Ip_ReadBack()
#define WdgHookEnd_Wdg_Ip_ReadBack()
/** \brief  FUNCTION:Wdg_Ip_WaitCtrlBaseState fault injection. */
#define WdgHookBegin_Wdg_Ip_TimeoutCheck()
#define WdgHookEnd_Wdg_Ip_TimeoutCheck()
/** \brief  FUNCTION:Wdg_Ip_WaitCtrlBaseState varible fault injection. */
#define WdgHookBegin_TimeoutVarInject()
#define WdgHookEnd_TimeoutVarInject()
/** \brief  FUNCTION:Wdg_Ip_WaitCtrlBaseState varible fault injection. */
#define WdgHookBegin_InvalidInstanceVarInject()
#define WdgHookEnd_InvalidInstanceVarInject()
/** \brief  FUNCTION:Wdg_Ip_GetTimeRatio varible fault injection. */
#define WdgHookBegin_InvalidInstanceRatioInject()
#define WdgHookEnd_InvalidInstanceRatioInject()
/** \brief  FUNCTION:Wdg_Ip_SetTimeRatio varible fault injection. */
#define WdgHookBegin_InvalidInstanceSetRatioInject()
#define WdgHookEnd_InvalidInstanceSetRatioInject()
/** \brief  FUNCTION:Wdg_Ip_ExpectedInterruptCheck varible fault injection. */
#define WdgHookBegin_InterruptCheckInject()
#define WdgHookEnd_InterruptCheckInject()
#else
#include "Wdg_UserFault.h"
#endif /* #if (WDG_FAULT_INJECTION == STD_OFF) */

#ifdef __cplusplus
}
#endif
#endif /* WDG_FAULT_H */
/* End of file */
